#pragma once
#include "..\stdafx.h"
#include <map>



class BaseGameEntity
{
private:
	int m_ID;

	static std::map<int, std::_tstring> s_names;

	static int s_iNextValidID;

	void SetID(int val);

public:
	BaseGameEntity(int id) { SetID(id); }
	virtual ~BaseGameEntity(void) { }

	virtual void Update(float fTime) = 0;

	int ID() const { return m_ID; }

	static std::_tstring GetNameOfEntity(int id);
	static void AddNameOfEntity(int id, std::_tstring name);

};

